Skip to main content

SC3050 - Advanced Computer Architecture

Lecture Clarity:
(4/5)
Content Relevance:
(4/5)
Content Difficulty:
(4/5)
Overall Workload:
(3/5)
Team Dependency:
(1/5)

Course Summary

SC3050, Advanced Computer Architecture, builds upon foundational concepts introduced in earlier modules like SC1006, providing deeper clarity and motivation behind CPU design and operation. The course places strong emphasis on pipelining, efficient CPU processes, and the logical design of CPUs and caches. It covers a broad range of topics including instruction set architecture design (RISC vs. CISC), microarchitecture (single-cycle and pipeline datapaths), instruction-level parallelism (hazards, out-of-order execution, branch prediction), memory systems (cache design and performance), GPU architecture and programming, and data- and thread-level parallelism (vector architectures, multicore systems). An additional e-learning module explores emerging computing trends such as ASIP, FPGA, ASIC, and heterogeneous multicore platforms. The course uses LEGv8 as an example architecture to illustrate instruction decoding and execution, helping students understand why CPUs are designed in certain ways and the implications when assumptions are violated. Both professors, Dr Smitha and Dr Liu Weichen, are noted for clear, well-organized lectures and motivating tutorials that encourage critical thinking.

Workload

The workload is moderately high but manageable with consistent effort. The course includes 7 lecture modules, 9 tutorials, and 5 biweekly lab sessions. Pre-lecture videos add roughly an hour of content weekly, with lectures focusing on implications and example questions. Lab sessions become more demanding around the 4th and 5th labs, so prereading is recommended to keep pace. While the content can be challenging, especially for students less familiar with low-level computer architecture or assembly language, understanding the material thoroughly makes the workload more manageable.

Projects

Assessment consists primarily of a closed-book final exam (around 50% weight) and four lab quizzes (each worth 10%, totaling 40%). The lab quizzes are based on the weekly lab topics and lecture content, typically involving straightforward questions if the lab work has been completed. There are no group assignments or team dependencies.

Tips to Do Well

To succeed, focus on truly understanding the concepts rather than rote memorization, as later topics build heavily on earlier material. Actively work through example problems by hand to grasp the rationale behind CPU design decisions. Visual aids such as drawing process maps and rearranging assembly code can help internalize instruction flows. Pre-reading lab materials and revising thoroughly before quizzes are crucial, especially as labs grow more complex. Take advantage of the approachability of the professors and ask questions early to clarify doubts and avoid falling behind. Overall, engaging critically with tutorials and lectures will deepen understanding and improve performance.

Based on reviews by LYX, CWX, CZY